package com.homedo.microservice.open.service.gateway.alert.gateway.bean.po;

import com.homedo.common.dao.bean.po.base.BasePo;

import javax.persistence.Column;
import javax.persistence.Id;
import javax.persistence.Table;

/**
 * 路由配置表
 *
 * @author 作者 jgshun
 * @date 创建时间 2018年09月18日 11时30分20秒
 */
@Table(name = "d_route")
public class Route extends BasePo {
    /**
     * 属性查询列表
     */
    public static final String FIELD_ID = "id";
    public static final String FIELD_APPLICATIONNAME = "applicationName";
    public static final String FIELD_PATH = "path";
    public static final String FIELD_SERVICEID = "serviceId";
    public static final String FIELD_STRIPPREFIX = "stripPrefix";
    public static final String FIELD_RETRYABLE = "retryable";
    public static final String FIELD_CUSTOMSENSITIVEHEADERS = "customSensitiveHeaders";
    public static final String FIELD_SENSITIVEHEADERS = "sensitiveHeaders";
    public static final String FIELD_STATUS = "status";
    public static final String FIELD_SORT = "sort";
    public static final String FIELD_DOMAINROUTEID = "domainRouteId";
    public static final String FIELD_CREATETIME = "createTime";
    public static final String FIELD_UPDATETIME = "updateTime";
    public static final String FIELD_COMMENT = "comment";
    public static final String FIELD_ADDHOSTHEADER = "addHostHeader";


    /**
     * 列名查询列表
     */
    public static final String COLUMN_ID = "id";
    public static final String COLUMN_APPLICATION_NAME = "application_name";
    public static final String COLUMN_PATH = "path";
    public static final String COLUMN_SERVICE_ID = "service_id";
    public static final String COLUMN_STRIP_PREFIX = "strip_prefix";
    public static final String COLUMN_RETRYABLE = "retryable";
    public static final String COLUMN_CUSTOM_SENSITIVE_HEADERS = "custom_sensitive_headers";
    public static final String COLUMN_SENSITIVE_HEADERS = "sensitive_headers";
    public static final String COLUMN_STATUS = "status";
    public static final String COLUMN_SORT = "sort";
    public static final String COLUMN_DOMAIN_ROUTE_ID = "domain_route_id";
    public static final String COLUMN_CREATE_TIME = "create_time";
    public static final String COLUMN_UPDATE_TIME = "update_time";
    public static final String COLUMN_COMMENT = "comment";
    public static final String COLUMN_ADD_HOST_HEADER = "add_host_header";


    public static final String ORDER_SORT_ASC = " sort asc ";


    @Id
    @Column(name = "id")
    private String id;


    @Column(name = "application_name")
    private String applicationName;


    @Column(name = "path")
    private String path;


    @Column(name = "service_id")
    private String serviceId;


    @Column(name = "strip_prefix")
    private Boolean stripPrefix;


    @Column(name = "retryable")
    private Boolean retryable;


    @Column(name = "custom_sensitive_headers")
    private Boolean customSensitiveHeaders;


    @Column(name = "sensitive_headers")
    private String sensitiveHeaders;


    @Column(name = "add_host_header")
    private Boolean addHostHeader;


    @Column(name = "status")
    private Integer status;


    @Column(name = "sort")
    private Double sort;


    @Column(name = "domain_route_id")
    private Integer domainRouteId;


    @Column(name = "create_time")
    private java.util.Date createTime;


    @Column(name = "update_time")
    private java.util.Date updateTime;


    @Column(name = "comment")
    private String comment;

    /**
     * 获取 路由id
     *
     * @return id - 路由id
     */
    public String getId() {
        return id;
    }

    /**
     * 设置 路由id
     *
     * @param id - 路由id
     */
    public void setId(String id) {
        this.id = id;
    }

    /**
     * 获取 应用名称
     *
     * @return applicationName - 应用名称
     */
    public String getApplicationName() {
        return applicationName;
    }

    /**
     * 设置 应用名称
     *
     * @param applicationName - 应用名称
     */
    public void setApplicationName(String applicationName) {
        this.applicationName = applicationName;
    }

    /**
     * 获取 转发路径
     *
     * @return path - 转发路径
     */
    public String getPath() {
        return path;
    }

    /**
     * 设置 转发路径
     *
     * @param path - 转发路径
     */
    public void setPath(String path) {
        this.path = path;
    }

    /**
     * 获取 服务ID
     *
     * @return serviceId - 服务ID
     */
    public String getServiceId() {
        return serviceId;
    }

    /**
     * 设置 服务ID
     *
     * @param serviceId - 服务ID
     */
    public void setServiceId(String serviceId) {
        this.serviceId = serviceId;
    }

    /**
     * 获取 是否去除前缀 1是 0否
     *
     * @return stripPrefix - 是否去除前缀 1是 0否
     */
    public Boolean getStripPrefix() {
        return stripPrefix;
    }

    /**
     * 设置 是否去除前缀 1是 0否
     *
     * @param stripPrefix - 是否去除前缀 1是 0否
     */
    public void setStripPrefix(Boolean stripPrefix) {
        this.stripPrefix = stripPrefix;
    }

    /**
     * 获取 是否重试 1是 0否
     *
     * @return retryable - 是否重试 1是 0否
     */
    public Boolean getRetryable() {
        return retryable;
    }

    /**
     * 设置 是否重试 1是 0否
     *
     * @param retryable - 是否重试 1是 0否
     */
    public void setRetryable(Boolean retryable) {
        this.retryable = retryable;
    }

    /**
     * 获取 是否自定义敏感头信息 0否 1是   一般采用自定义敏感头1
     *
     * @return customSensitiveHeaders - 是否自定义敏感头信息 0否 1是   一般采用自定义敏感头1
     */
    public Boolean getCustomSensitiveHeaders() {
        return customSensitiveHeaders;
    }

    /**
     * 设置 是否自定义敏感头信息 0否 1是   一般采用自定义敏感头1
     *
     * @param customSensitiveHeaders - 是否自定义敏感头信息 0否 1是   一般采用自定义敏感头1
     */
    public void setCustomSensitiveHeaders(Boolean customSensitiveHeaders) {
        this.customSensitiveHeaders = customSensitiveHeaders;
    }

    /**
     * 获取 自定义的敏感头集合，多个以逗号分隔
     *
     * @return sensitiveHeaders - 自定义的敏感头集合，多个以逗号分隔
     */
    public String getSensitiveHeaders() {
        return sensitiveHeaders;
    }

    /**
     * 设置 自定义的敏感头集合，多个以逗号分隔
     *
     * @param sensitiveHeaders - 自定义的敏感头集合，多个以逗号分隔
     */
    public void setSensitiveHeaders(String sensitiveHeaders) {
        this.sensitiveHeaders = sensitiveHeaders;
    }

    /**
     * 获取 是否可用
     *
     * @return status - 是否可用
     */
    public Integer getStatus() {
        return status;
    }

    /**
     * 设置 是否可用
     *
     * @param status - 是否可用
     */
    public void setStatus(Integer status) {
        this.status = status;
    }

    /**
     * 获取 排序 数值越小优先级越高
     *
     * @return sort - 排序 数值越小优先级越高
     */
    public Double getSort() {
        return sort;
    }

    /**
     * 设置 排序 数值越小优先级越高
     *
     * @param sort - 排序 数值越小优先级越高
     */
    public void setSort(Double sort) {
        this.sort = sort;
    }

    /**
     * 获取 根据域名路由的域名id
     *
     * @return domainRouteId - 根据域名路由的域名id
     */
    public Integer getDomainRouteId() {
        return domainRouteId;
    }

    /**
     * 设置 根据域名路由的域名id
     *
     * @param domainRouteId - 根据域名路由的域名id
     */
    public void setDomainRouteId(Integer domainRouteId) {
        this.domainRouteId = domainRouteId;
    }

    /**
     * 获取 创建时间
     *
     * @return createTime - 创建时间
     */
    public java.util.Date getCreateTime() {
        return createTime;
    }

    /**
     * 设置 创建时间
     *
     * @param createTime - 创建时间
     */
    public void setCreateTime(java.util.Date createTime) {
        this.createTime = createTime;
    }

    /**
     * 获取 更新时间
     *
     * @return updateTime - 更新时间
     */
    public java.util.Date getUpdateTime() {
        return updateTime;
    }

    /**
     * 设置 更新时间
     *
     * @param updateTime - 更新时间
     */
    public void setUpdateTime(java.util.Date updateTime) {
        this.updateTime = updateTime;
    }

    /**
     * 获取 备注
     *
     * @return comment - 备注
     */
    public String getComment() {
        return comment;
    }

    public Boolean getAddHostHeader() {
        return addHostHeader;
    }

    public void setAddHostHeader(Boolean addHostHeader) {
        this.addHostHeader = addHostHeader;
    }

    /**
     * 设置 备注
     *
     * @param comment - 备注
     */
    public void setComment(String comment) {
        this.comment = comment;
    }
}